package interesado;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.JTable;

import javax.swing.ListModel;
import javax.swing.table.DefaultTableModel;

import misc.Logica;

/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class ConsultarRequisitos_GUI extends javax.swing.JFrame{

	{
		//Set Look & Feel
		try {
			javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName());
		} catch(Exception e) {
			e.printStackTrace();
		}
	}


	
	//Agregado
	private Interesado_GUI padre;
	private JTable tablaRequisitos;
	private JScrollPane jScrollPane1;
	private JScrollPane jScrollPane2;
	private JButton btnAceptar;
	private JButton btbVerReq;
	private JLabel lblRequisitos;
	private JLabel lblSolicitudes;
	private JTable tablaSolicitudes;
	private DefaultTableModel modeloSolicitud;
	private DefaultTableModel modeloRequisito;
	private Logica logica;
	public ConsultarRequisitos_GUI(Interesado_GUI padre, Logica logica) {
		super();
		
		initGUI();
		this.logica=logica;
		mostrarTipoSolicitudes();
		this.padre=padre;
		
	}
	
	
	private void cerrar() {
		this.setVisible(false);
		padre.setVisible(true);
		
	}
	
	
	private void mostrarTipoSolicitudes() {
		ResultSet rs = logica.consultarTipoSolicitud();
		logica.limpiar(modeloSolicitud);
		
		try {
			while (rs.next())
			{
			   // Se crea un array que será una de las filas de la tabla. 
			   Object [] fila = new Object[2]; // Hay tres columnas en la tabla

			   // Se rellena cada posición del array con una de las columnas de la tabla en base de datos.
			   for (int i=0;i<2;i++)
			      fila[i] = rs.getObject(i+1); // El primer indice en rs es el 1, no el cero, por eso se suma 1.

			   // Se añade al modelo la fila completa.
			   modeloSolicitud.addRow(fila); 
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
       
	}
	
	
	private void mostrarRequisitos(int codigo) {
		
		ResultSet rs = logica.consultarRequisitos(codigo);
		logica.limpiar(modeloRequisito);
		
		try {
			while (rs.next())
			{
			   // Se crea un array que será una de las filas de la tabla. 
			   Object [] fila = new Object[2]; // Hay tres columnas en la tabla

			   // Se rellena cada posición del array con una de las columnas de la tabla en base de datos.
			   for (int i=0;i<1;i++)
			      fila[i] = rs.getObject(i+1); // El primer indice en rs es el 1, no el cero, por eso se suma 1.

			   // Se añade al modelo la fila completa.
			   modeloRequisito.addRow(fila); 
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
       
	}
	
	
	
	private void initGUI() {
		setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
		this.addWindowListener(new WindowAdapter() {
	          public void windowClosing(WindowEvent e) {
     cerrar();
	          }
	      });
		try {
			{
				getContentPane().setLayout(null);
				this.setTitle("Consultar Requisitos");
			}
			{
				jScrollPane1 = new JScrollPane();
				getContentPane().add(jScrollPane1);
				jScrollPane1.setBounds(70, 29, 399, 182);
				{
					modeloSolicitud = new DefaultTableModel();
					modeloSolicitud.addColumn("codigo");
					modeloSolicitud.addColumn("Denominacion");
					
					tablaSolicitudes = new JTable();
					jScrollPane1.setViewportView(tablaSolicitudes);
					tablaSolicitudes.setModel(modeloSolicitud);
					tablaSolicitudes.setBounds(160, 25, 156, 97);
					tablaSolicitudes.setPreferredSize(new java.awt.Dimension(396, 178));
				}
			}
			{
				jScrollPane2 = new JScrollPane();
				getContentPane().add(jScrollPane2);
				jScrollPane2.setBounds(70, 261, 398, 113);
				{
					
					tablaRequisitos = new JTable();
					modeloRequisito = new DefaultTableModel();
					modeloRequisito.addColumn("Descripcion");
					jScrollPane2.setViewportView(tablaRequisitos);
					tablaRequisitos.setModel(modeloRequisito);
					tablaRequisitos.setBounds(367, 247, 156, 110);
					tablaRequisitos.setPreferredSize(new java.awt.Dimension(395, 125));
				}
			}
			{
				lblSolicitudes = new JLabel();
				getContentPane().add(lblSolicitudes);
				lblSolicitudes.setText("Solicitudes");
				lblSolicitudes.setBounds(70, 9, 399, 14);
			}
			{
				lblRequisitos = new JLabel();
				getContentPane().add(lblRequisitos);
				lblRequisitos.setText("Requisitos");
				lblRequisitos.setBounds(71, 241, 398, 14);
			}
			{
				btbVerReq = new JButton();
				getContentPane().add(btbVerReq);
				btbVerReq.setText("Ver Requisitos");
				btbVerReq.setBounds(350, 223, 118, 21);
				btbVerReq.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						btbVerReqActionPerformed(evt);
					}
				});
			}
			{
				btnAceptar = new JButton();
				getContentPane().add(btnAceptar);
				btnAceptar.setText("Aceptar");
				btnAceptar.setBounds(228, 380, 72, 27);
				btnAceptar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						btnAceptarActionPerformed(evt);
					}
				});
			}
			{
				this.setSize(522, 445);
			}
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	
	
	private void btbVerReqActionPerformed(ActionEvent evt) {
		int fila;
		
		fila=tablaSolicitudes.getSelectedRow();
		Object obj = logica.getData(tablaSolicitudes, fila,0);
		
		mostrarRequisitos(Integer.parseInt(obj.toString()));
		
	}
	
	private void btnAceptarActionPerformed(ActionEvent evt) {
		this.dispose();
		padre.setVisible(true);
	}

}
